home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Business Master (4th Edition)
/
The Business Master - 4th Edition.iso
/
files
/
utilstem
/
memman
/
hram.doc
< prev
next >
Wrap
Text File
|
1992-11-22
|
51KB
|
1,417 lines
1
HRAM
Version 1.3
User's Guide
2
COPYRIGHT
This HRAM documentation and the software are copyrighted with all
rights reserved. Under the copyright laws, neither the
documentation nor the software may be copied, photocopied,
reproduced, translated, or reduced to any electronic medium or
machine-readable form, in whole or in part, without the prior
written consent of Biologic, except in the manner described in
this manual. The unregistered version of HRAM and accompanying
documentation may be freely copied and distributed.
Copyright (C) Biologic 1990-1992
All rights reserved. First edition printed 1990. Printed in the
United States.
Software License Notice
Your license agreement with Biologic, which is included with the
product, specifies the permitted and prohibited uses of the
product. Any unauthorized duplication or use of HRAM in whole or
in part, in print, or in any other storage and retrieval system
is forbidden.
Licenses and Trademarks
386MAX is a registered trademark of Qualitas, Inc. QEMM is a
registered trademark of Quarterdeck Office Systems, Inc. MS-DOS
is a registered trademark of Microsoft Corporation. HRAM is a
trademark of Biologic.
Biologic
POB 1267
Manassas VA
22110
USA
703-368-2949
800-736-8088 (orders only)
703-361-8251 (fax)
70033,1324 (compuserve)
3
CONTENTS
License Agreement and Disclaimer of Warranty
Introduction
Notes on Memory and Memory Addresses
Testing Your Memory with Chkmem
Shadow Memory
Notes for 8088 and 80286 PCs
Notes for 80386 PCs
Condensed Instructions
hramdev.sys
hram.exe
hram.sys
Your Turn
4
LICENSE AGREEMENT AND DISCLAIMER OF WARRANTY
License agreement
The terms of this license agreement apply to you and to any
subsequent licensee of this HRAM software. Biologic retains the
ownership of this copy of HRAM software. This copy is licensed
to you for use under the following conditions.
You may use the HRAM software on any compatible computer,
provided the HRAM software is used on only one computer and by
one user at a time.
You may not provide use of the software in a computer service
business, network, timesharing, multiple CPU or multiple user
arrangement to users who are not individually licensed by
Biologic, except that you may designate any employee to use
such products on a one employee per license basis.
You may not disassemble or decompile the HRAM software.
Disclaimer of warranty
Biologic excludes any and all implied warranties, including
warranties of merchantability and fitness for a particular
purpose. Biologic does not make any warranty of representation,
either express or implied, with respect to this software program,
its quality, performance, merchantability, or fitness for a
particular purpose. Biologic shall not have any liability for
special, incidental, or consequential damages arising out of or
resulting from the use of this program.
5
INTRODUCTION
Description
HRAM is a powerful memory management program for 8088, 8086,
80286, 80386 and 80486 PCs that enhances the utilization of upper
memory (memory between 640K and 1024K). It works in conjunction
with DOS 5 to create up to 96K of extra conventional memory and
up to 224K of upper memory for use by device drivers (such as
network drivers) and memory resident programs (TSRs). In
addition, it provides many of the necessary memory management
features DOS 5 left out:
HRAM creates upper memory on 8088, 80286, 80386, and 80486 PCs
(DOS 5 creates upper memory on 80386 and 80486 PCs only.)
HRAM utilizes the shadow RAM capability of many chip sets to
create upper memory (the file chipset.doc contains a complete
listing of supported chip sets). This may eliminate the need
to use the DOS 5 program, emm386.exe (or any other 80386
expanded memory manager), resulting in a speed increase of 10
to 40 percent!
On 80386 and 80486 PCs, HRAM provides more upper memory than
DOS 5 by thoroughly searching the area between 640K and 1024K
and converting ALL unused regions to upper memory--memory that
DOS 5 often overlooks.
HRAM gives you an extra 64K of upper memory for program
initialization by using expanded memory for loading drivers
and TSRs--this means you'll often load programs you couldn't
load before.
HRAM optimizes your upper memory by automatically determining
which order and in which memory region your drivers and TSRs
should be loaded. This one step can easily double the
utilization of your upper memory. (DOS 5 suggests that you
"experiment with different combinations and orders of
programs". When you consider that your upper memory may
consist of several separate regions and that you probably use
up to a dozen drivers and TSRs, this process, without HRAM,
could require rebooting your PC thousands of times!)
Overview
HRAM is a set of programs that consists of:
hramdev.sys, a device driver that manages upper memory and can
6
fill unused upper memory areas with expanded memory or shadow
RAM.
hram.exe, a program that works in conjunction with the DOS
LOADHIGH command to optimally load TSRs into the upper memory
created by hramdev.sys. hram.exe also provides a status
report of upper memory and lists the programs that have been
loaded into it.
hram.sys, a special driver that works in conjunction with the
DOS DEVICEHIGH command to optimally load device drivers into
upper memory.
A utility program, Chkmem, is included in the package and
provides information about the status of memory in your PC.
Requirements
A PC with a 8088, 8086, 80286, 80386 or 80486 microprocessor.
IBM Personal Computer Disk Operating System (PC-DOS) or
Microsoft Disk Operating System (MS-DOS) version 5.0 or
greater.
On 8088 and 80286 PCs, expanded memory version 4 or shadow
RAM.
Contents of the HRAM disk
The following files are included in the root directory of the
distribution disk.
hramdev.sys
hram.exe
hram.sys
chkmem.exe
read.me
There may also be a \freeware directory which contains
unregistered versions of our other software products.
7
NOTES ON MEMORY
AND MEMORY ADDRESSES
Conventional Memory
Conventional memory is located between 0K and 1024K and is the
maximum amount of memory that can be addressed by the 8088
microprocessor on which the IBM PC is based.(1) The designers
of the original PC divided conventional memory space into a 640K
block of memory to be used by MS-DOS programs and a 384K block of
upper memory for system hardware and ROM. The term, conventional
memory, is sometimes used to refer just to memory from 0 to 640K.
Upper Memory
Upper memory is located between 640K and 1024K was originally
intended to be reserved for system hardware and ROM. Since the
amount of free conventional memory between 0K and 640K is
critical to the performance of your PC, DOS 5 utilizes upper
memory blocks (UMBs) and provides a way of moving device drivers
and TSRs out of conventional memory and into upper memory (with
the DEVICEHIGH and LOADHIGH commands). DOS 5 will use upper
memory only if a program which provides UMBs (like hramdev.sys or
emm386.sys) has been loaded and "dos=umb" is in your config.sys
file.
High Memory Area
The high memory area (HMA) is a 64K region starting at 1024K
(1M). Usually, part of DOS is loaded into this area to free up
low DOS memory (if "dos=high" is in your config.sys file). This
region is not upper memory, and DEVICEHIGH and LOADHIGH do not
load programs into it.
Expanded Memory
Expanded memory is "paged" memory that can exist in 8088, 80286,
and 80386(2) based PCs. As the memory requirements of programs
grew, expanded memory was developed to support up to 32M of
memory by swapping small blocks or "pages" of extra memory into
the 1M address space of the 8088 processor so that only a few
pages are addressable at a time. Memory pages that are not in
use are stored as deactivated pages on an expanded memory board.
The original expanded memory specification, EMS version 3.2, was
developed jointly by Lotus, Intel, and Microsoft. Soon after,
AST and Ashton-Tate developed a similar, but enhanced,
____________________
(1) 1K equals 1,024 bytes. 1024K equals 1,048,576 bytes or 1
megabyte.
(2) Throughout the remainder of this documentation anything
said about 80386 PCs applies equally to 80486 PCs.
8
specification called EEMS. These two specifications were
replaced by EMS version 4.0, which incorporated features of both
specifications.
Below is a summary of a few important features:
An expanded memory page is 16K in size.
Expanded memory that conforms to the version 3.2 specification
can be mapped only into a 64K region in upper memory called
the page frame. EMS version 4.0 supports the mapping of
expanded memory into any location in conventional memory.
A software control program, called an expanded memory manager,
manages the placement of memory pages, and is typically loaded
by the config.sys file when your PC is turned on or restarted.
Extended Memory
Intel's newer processors, starting with the 80286, are capable of
addressing memory above 1M--extended memory. Unfortunately, this
memory is not addressable when these processors are in a
processor state called real mode (a mode designed to maintain
compatibility with the 8088) and cannot be fully utilized when
using a real mode operating system such as MS-DOS.
The problem of accessing extended memory while running MS-DOS has
spawned several solutions:
On PCs that support extended memory, a feature of the ROM BIOS
allows programs to copy data between conventional and extended
memory. Although programs cannot execute in extended memory,
they can use it as storage space. Programs that take
advantage of this feature include RAM disks, print spoolers,
and 80286 expanded memory simulators.
Protected mode run-time environments which allow an
application program to execute in protected mode under MS-DOS.
80386 memory managers, like VRAM/386, that use the page
mapping capability of the 80386 processor to convert extended
memory into expanded memory and provide additional
conventional memory for use by MS-DOS.
Memory Addresses
Memory addresses and ranges are typically specified using
hexadecimal (hex) numbers. Hex numbers include the digits 0-9
and the letters A-F, giving 16 possible values for each hex
digit.
Conventional memory can be divided into 64 pages of 16K each.
These pages can be referred to as page 0, page 1, page 2, and so
on, or, as is the case in this manual, by their hexadecimal
segment addresses. Using this notation, page 0 is at segment 0,
9
page 1 is at segment 0400, page 2 is at segment 0800, etc. The
following table lists some page numbers and their corresponding
segment address and linear address:
Segment Linear
Page Address Address ________________________________
0 0000 0K
1 0400 16K
2 0800 32K
3 0c00 48K
4 1000 64K
5 1400 80K
8 2000 128K
12 3000 196K
40 a000 640K
44 b000 704K
63 fc00 1,008K
The first 40 pages (640K) of conventional memory are used by MS-
DOS and the other 24 pages are reserved for system hardware and
ROM. The exact usage of the upper 384K of conventional memory
depends on the hardware configuration of your machine; typically,
several blocks of this area are not used and are simply empty
space.
The table below lists the memory map of a typical PC:
Address
Range Description ________________________________________
0000-9fff low DOS memory (640K)
a000-bfff VGA display adapter (128K)
c000-c7ff hard disk controller (32K)
c800-cfff unused address space (32K)
d000-dfff expanded memory page frame (64K)
e000-efff unused address space (64K)
f000-ffff ROM
10
TESTING YOUR MEMORY WITH CHKMEM
The Chkmem program is a memory utility which displays the types
and amounts of memory in your PC. With it, you can determine the
current status of the upper memory area. Chkmem can also
identify the chip set in your computer.
Enter the command [chkmem] (don't type the brackets) to display
the amount of upper memory that can be created on your PC.
Example output is shown below:
Biologic Chkmem, version 1.3
copyright (c) Biologic 1990-1992. all rights reserved.
655360 bytes conventional memory
0 bytes extended memory
351232 bytes available XMS memory
655360 bytes expanded memory
0 bytes upper memory
0 bytes upper memory blocks (UMBs) can be converted to
upper memory
0 bytes expanded memory can be converted to upper memory
163840 bytes unused areas or shadow ram can be converted to
upper memory
163840 bytes upper memory can be created
If the last line in the listing, "bytes upper memory can be
created", is not 0, then HRAM can create and/or manage upper
memory on your PC.
8088 and 80286 PCs: If the listing shows that the only
available source of upper memory is "unused areas or shadow
RAM", as in the example above, then your computer must have a
chip set that is supported by HRAM or you must add expanded
memory to your system. The file, chipset.doc, contains a list
of chip sets that are supported and the section, "Shadow
memory", describes how to determine which chip set you have.
Read the section, "Notes for 8088 and 80286 PCs" for more
information on installing expanded memory.
8088 and 80286 PCs: If your chip set is not supported by HRAM
and only 65536 bytes (64K) of expanded memory can be converted
to upper memory, your expanded memory may not be fully
compatible with the EMS version 4.0 specification or it may
need to be configured differently. Read the section, "Notes
for 8088 and 80286 PCs" for more information on configuring
your expanded memory.
11
SHADOW MEMORY
Most PCs are designed so that a 384K segment of memory, located
between 640K and 1024K, is reserved for shadowing ROM. When your
PC is started, the shadow memory at ROM locations is activated
and the ROM code is copied to it. The remaining shadow memory is
not activated and is not used.
HRAM locates these regions of unused shadow memory, activates
them, and converts them to upper memory. This means:
HRAM can create upper memory on 80286 PCs.
HRAM can create upper memory on 80386 PCs without using
emm386.exe or any other expanded memory manager. This is
an important advantage because 80386 memory managers (like
emm386, 386MAX, and QEMM) must switch the 80386 chip to a
mode which causes your PC to run slower than normal. If
you don't need expanded memory, you can use HRAM to create
upper memory, and your PC will run at full speed.
Determining your chip set
The amount of upper memory created from shadow memory, and how it
is activated, depends on which chip set is in your PC. Since
HRAM cannot automatically determine which chip set you have, you
must determine this yourself and specify the chip set on the
hramdev.sys command line (using the /t<chip set number> option).
There are several ways to determine your chip set:
Look for it on the setup screen or in the documentation for
your PC.
Use the [chkmem /t] command. The chkmem program will
attempt to identify the chip set. It is possible that
chkmem will not be successful. This does not mean your
shadow memory cannot be utilized--you just need to identify
it another way. (Your PC should be rebooted after using
this command).
Ask the manufacturer of your PC.
Take off the cover and look. The chip set will consist of
one or more chips (large or small) identified by names
and/or numbers. Try to match the number(s) with those
listed in the file 'chipset.doc'.
12
NOTES FOR 8088 AND 80286 PCS
1. HRAM can utilize the shadow RAM capability of many chip sets
to create upper memory blocks; expanded memory is not
required. The file, chipset.doc, contains a list of chip sets
HRAM currently supports.
2. HRAM can also convert expanded memory to upper memory,
provided your expanded memory is hardware compatible with EMS
version 4.0. If the Chkmem program reported that only 65536
bytes of upper memory can be created from expanded memory,
then your expanded memory is either not hardware compatible
with EMS 4 or it needs to be reconfigured. Consult the
documentation for the board or contact your computer dealer to
make this determination (note: many memory boards are software
compatible with EMS 4 but are not fully compatible on a
hardware level).
3. If your expanded memory is hardware compatible with EMS 4 and
Chkmem reports that only 65536 bytes of upper memory can be
created from expanded memory, then you need to reconfigure
your expanded memory by changing the line in your config.sys
file that loads the expanded memory manager for the board.
Run the command [chkmem /c] to display a recommended command
line for your expanded memory manager.
4. If your expanded memory is not hardware compatible with EMS 4,
you can still create upper memory by using the hramdev /f
option. This option will give you 64K of upper memory, but
will make your expanded memory unavailable to other programs.
13
NOTES FOR 80386 PCS
1. HRAM can utilize the shadow RAM capability of many chip sets
to create upper memory blocks. If you do not need to convert
extended memory to expanded memory, the expanded memory
manager, emm386.exe, is not required. The file, chipset.doc,
contains a list of chip sets HRAM currently supports.
2. If HRAM does not support the shadow RAM capability of your
chip set or if you need expanded memory, the program,
emm386.exe, should be loaded in your config.sys file.
14
CONDENSED INSTRUCTIONS
Creating Upper Memory
Processor: 80386, 80486
From: shadow memory
When: HRAM supports your chip set and you do not need expanded
memory
1. Add the line [dos=umb] to your config.sys file (its location
in your config.sys file is not important).
2. Add the line [device=hramdev.sys /t<chipset>] to your
config.sys file (<chipset> is the number identifying the chip
set in your computer). This line should be located after the
line [device=himem.sys] and near the beginning before any
other [device=] lines.
3. Reboot your PC and run the Chkmem program. Chkmem should
report a non-zero value for "bytes upper memory". Enter the
command [chkmem /h] to display the size and location of the
upper memory regions in your PC.
Processor: 80386, 80486
From: expanded memory manager (emm386.exe)
When: HRAM does not support your chip set or you need expanded
memory
1. Add a [device=] line to your config.sys file which loads your
expanded memory manager. An expanded memory manager is a
single file which, typically, has "EMM" in its name. If this
line already exists in your config.sys file, you may need to
change the parameters so that your expanded memory is
configured correctly.
DOS 5 provides an expanded memory manager, emm386.exe, for use
on 386 PCs. You should run the [chkmem /c] command to list
the recommended command line for emm386.exe, and add this line
to your config.sys file (or modify it if it already exists).
This line should be located immediately after the line
[device=himem.sys].
2. Add the line [dos=umb] to your config.sys file (its location
in your config.sys file is not important).
3. Add the line [device=hramdev.sys] to your config.sys file.
This line should be located after the line [device=emm386.exe]
and near the beginning before any other [device=] lines.
4. Reboot your PC and run the Chkmem program. Chkmem should
report a non-zero value for "bytes upper memory". Enter the
command [chkmem /h] to display the size and location of the
upper memory regions in your PC.
15
Processor: 8088, 80286
From: shadow memory
When: HRAM supports your chip set
1. Add the line [dos=umb] to your config.sys file (its location
in your config.sys file is not important).
2. Add the line [device=hramdev.sys /t<chipset>] to your
config.sys file (<chipset> is the number identifying the chip
set in your computer). This line should be located after the
line [device=himem.sys] and near the beginning before any
other [device=] lines.
3. Reboot your PC and run the Chkmem program. Chkmem should
report a non-zero value for "bytes upper memory". Enter the
command [chkmem /h] to display the size and location of the
upper memory regions in your PC.
Processor: 8088, 80286
From: expanded memory
When: HRAM does not support your chip set and you have EMS 4
expanded memory in your computer.
1. Add a [device=] line to your config.sys file which loads your
expanded memory manager. An expanded memory manager is a
single file which, typically, has "EMM" in its name. If this
line already exists in your config.sys file, you may need to
change the parameters so that your expanded memory is
configured correctly.
Run the command [chkmem /c] to list a recommended command line
for the expanded memory manager that was provided with your
memory board. You should add this line to your config.sys
file (or modify it if it already exists). Since expanded
memory managers are different for every board, the syntax of
this command may differ slightly from what is displayed by
[chkmem /c]. You should consult the documentation for your
memory board for information on the exact syntax of this
command.
2. Add the line [dos=umb] to your config.sys file (its location
in your config.sys file is not important).
3. Add the line [device=hramdev.sys /e] to your config.sys file.
This line should be located after the line that loads your
expanded memory manager and near the beginning before any
other [device=] lines.
4. Reboot your PC and run the Chkmem program. Chkmem should
report a non-zero value for "bytes upper memory". Enter the
command [chkmem /h] to display the size and location of the
upper memory regions in your PC.
16
Optimizing upper memory
Upper memory is utilized in two ways: (1) programs that recognize
this area will automatically take advantage of it, and (2) TSRs
and device drivers can be loaded into it with the DOS commands
DEVICEHIGH and LOADHIGH.
The process of loading programs high is complicated by the fact
that upper memory is a relatively small area, which may consist
of several regions of different sizes, and that, when loaded,
programs have an initialization size which may be much larger (or
smaller) than their resident size. Loading programs in a
different order or into different memory regions can
significantly increase the number of programs you are able to
load high.
HRAM provides features which allow you to gain optimum use of
your upper memory: it automatically determines the resident size
and initialization size of each of your drivers and TSRs, it
calculates the best configuration for your upper memory, it
allows you to load a program into a specific region, and it
provides an extra 64K of memory for program initialization by
temporarily adding expanded memory to upper memory.
Follow the steps below to optimize your memory:
1. Add the /s option to the [device=hramdev.sys] line in your
config.sys file and add a new line as shown below:
device=hramdev.sys /s
device=hram.sys on
2. Reboot your PC.
3. Type the command [hram /l] to list the analysis of your
drivers and TSRs.
4. Type the command [hram /c] to list recommended commands for
loading your programs high and add these lines to your
config.sys and autoexec.bat files.
5. Remove the /s option from the [device=hramdev.sys] line in
your config.sys file and reboot your PC.
6. Use the [hram /m] command to list the programs that have been
loaded into upper memory.
17
HRAMDEV.SYS
Command reference
The format of the hramdev.sys command is
device=d:\path\hramdev.sys [options]
[options]
specifies the optional hramdev.sys parameters described in the
following section.
The following options can appear in the hramdev.sys command.
/e
Convert expanded memory to upper memory. HRAM will fill
unused region between 640K and 1024K with expanded memory and
convert them to upper memory blocks. Your expanded memory
must be hardware compatible with EMS 4 and be capable of being
mapped to these regions. The command [chkmem /e] will display
a list of mappable memory segments (16K). The page frame is
not used for upper memory (see /f option).
/f
Use the expanded memory page frame for upper memory. The page
frame is a 64K buffer in the upper memory area into which
expanded memory pages are mapped. Although EMS version 4.0
supports mapping of expanded memory to areas outside the page
frame, most software programs, at a minimum, require the page
frame to be available. This option will create an additional
64K of upper memory, but will, in most cases, prevent other
programs from utilizing expanded memory.
/i<addressrange>
Include address range. The memory range specified by
<addressrange> will be converted to upper memory. It must be
above a000 (hex). <addressrange> is specified with
hexadecimal segment addresses which must be multiples of 16K
(0000, 0400, 0800, 0c00, 1000, 1400, ...). For example, to
include the range c000 to c800 use the parameter [/ic000-
c800]. Multiple include ranges should be separated by commas.
For example, [/ic000-c800,e000-f000].
If /i is used, only the memory areas with the include range(s)
will be available as upper memory.
This option is useful only if there are mappable areas in
upper memory that should not be under the control of
hramdev.sys. Normally, this option should not be used;
hramdev.sys will automatically convert all available memory
(excluding the page frame) into upper memory.
/k
Pause after loading (so you can read memory map screen).
18
/n
No pause on error. If hramdev.sys reports an error, it waits
for you to press a key. This option causes hramdev.sys to
continue without waiting for a key.
/p
Do not use expanded memory for program initialization.
Normally, HRAM provides extra memory for use by programs
during their initialization by temporarily adding 64K of
expanded memory to upper memory.
/r
Use previously activated RAM. HRAM will convert any RAM it
finds into upper memory (except a000-afffh and b000-b7ffh).
Use this option with caution since there may be RAM present in
the upper memory area (such as a network card buffer) that
should not be converted to upper memory.
This option might be useful if you have shadow memory and
hramdev.sys fails to load after a warm boot.
/s
Get size of programs. HRAM will calculate the resident size
and initialization size of every driver and TSR that is loaded
after it and write this information to the file
"\hram0000.dat" for use by the [hram /l] command (The HRAM
status must be "on"--see "Condensed Instructions"). Programs
will not be loaded high when this option is used.
/t<chipset number>
Use shadow memory. HRAM will convert shadow memory to upper
memory. Since HRAM cannot automatically determine which chip
set you have, you must specify the chip number on the
hramdev.sys command line (e.g. [hramdev.sys /t1] for the C&T
NEAT Chip set). See the section, "Shadow Memory", for
instructions on how to determine which chip set you have.
/x<addressrange>
Exclude address range. This option prevents hramdev.sys from
using a particular range of addresses. <addressrange> is
specified with hexadecimal segment addresses which must be
multiples of 16K. For example, to exclude the range c000 to
c800 use the parameter [/xc000-c800]. Multiple exclude ranges
should be separated by commas. For example, [/xc000-
c800,e000-f000].
19
HRAM.EXE
Displaying regions and programs in upper memory
The command, [hram /m], will display a status report of the upper
memory created by hramdev.sys. As illustrated in the following
example, the report lists the location and size of each upper
memory region as well as the TSRs and drivers that have been
loaded:
Biologic HRAM, version 1.3
copyright (c) Biologic 1990-1992. all rights reserved.
region address size
------ --------- ----------------
0 b002-b7fd 32704 ( 31.9k)
1 c802-dfff 98272 ( 96.0k)
region address size program
------ --------- ---------------- -------
0 b003-b01b 400 ( 0.4k) (character device) setverxx
0 b01d-b122 4192 ( 4.1k) (character device) con
0 b124-b67d 21920 ( 21.4k) (character device) smartaar
0 b684-b6e0 1488 ( 1.5k) c:\util\unblink.com
0 b6e7-b7d9 3888 ( 3.8k) c:\util\calc.com
0 b7db-b7fd 560 ( 0.5k) (avail)
0 128 ( 0.1k) other allocated blocks
1 c803-cba0 14816 ( 14.5k) (character device) ms$mouse
1 cba7-cdcc 8800 ( 8.6k) c:\util\anarkey.com
1 cdd3-cdfe 704 ( 0.7k) c:\util\fastkey.com
1 ce05-ce27 560 ( 0.5k) c:\util\scrnsave.com
1 ce29-dfff 73072 ( 71.4k) (avail)
1 192 ( 0.2k) other allocated blocks
expanded memory page frame located at: e000
hram: off
Note that each region is identified by a number, starting with 0,
and that the report indicates into which region each TSR or
device driver has been loaded. The amount of available space
remaining in each region is listed also.
The command, [hram /a], will list the raw memory allocations in
upper memory.
Loading TSRs into upper memory
hram.exe, itself, does not load programs into upper memory, it
works in conjunction with DOS to improve the function of the
LOADHIGH command. hram.exe provides a way to load a program into
a specific memory region and provides an extra 64K for program
initialization by temporarily converting expanded memory to upper
memory. To illustrate, suppose you wish to load a TSR program,
20
called Notepad, into upper memory. The command you normally use
to load it into low memory is:
notepad /i
The command to load it into upper memory, without using HRAM,
would be:
loadhigh notepad /i
The commands to load the program into the second memory region in
upper memory (regions are numbered starting with 0) and provide
an additional 64K of memory would be:
hram on /r1
loadhigh notepad /i
hram off
Although the LOADHIGH command alone will load notepad into upper
memory, it will load it into the first available upper memory
region; the advantage to using HRAM is that it will force
LOADHIGH to load it into a specific region. This is an important
feature, since in order to gain optimum use of upper memory, your
programs should be loaded into the region recommended by HRAM
(with the [hram /l] command). In addition, suppose you have 100K
of upper memory, but the notepad program requires 150K for
initialization. Without HRAM, there would not be enough upper
memory and LOADHIGH would load it into low memory. Since HRAM
provides an additional 64K for initialization, the program would
be successfully loaded high.
The HRAM command can be executed at the DOS prompt or it can be
used within a batch file (usually your autoexec.bat file). When
the HRAM command is executed without any parameters, [hram], it
reports the current status of HRAM--on or off.
Command reference
The format of the HRAM command is
hram [on|off] [options]
[on|off]
specifies whether HRAM should be "on" or "off". When HRAM is
on, programs can only be loaded into the memory region
specified on the HRAM command line (with the /r option) and
64K of expanded memory is temporarily converted to upper
memory.
[options]
specifies the optional HRAM parameters described in the
following section.
The following options can appear in the HRAM command.
21
/?
Display help.
/7
Increase low DOS memory size to 704K or 736K. If a upper
memory region exists at the address a002h (use the command
[hram /m] to display these regions), the command [hram /7]
will add this region to the low dos memory pool and increase
its size to 704K or 736K. The /7 option can only be used if no
programs have been loaded into the region at a002h. Programs
cannot be loaded high after this option has been used.
/a
List raw memory allocations in upper memory. Use this option
to display the memory control blocks that have been allocated
from upper memory.
/c
List recommended config.sys and autoexec.bat files. When the
/s option is added to the hramdev.sys command and your PC is
rebooted, information about the memory requirements of your
drivers and TSRs is written to the file "\hram0000.dat". The
command [hram /c] analyzes this information and displays a
list of recommended commands for your config.sys and
autoexec.bat files.
/i
Display registration information. This option causes hram.exe
to list information about registering your copy of HRAM. If
you have not purchased a registered copy of HRAM, and you
continue to use it after a reasonable testing period, you are
required to register your copy.
/l
List analysis of programs. When the /s option is added to the
hramdev.sys command and your PC is rebooted, information about
the memory requirements of your drivers and TSRs is written to
the file "\hram0000.dat". The command [hram /l] analyzes this
information and displays the optimum load order and memory
region for each program.
/m
List regions and programs in upper memory. [hram /m] lists a
status report of upper memory, including the size and location
of each memory region and program or device driver. Read the
previous section, "Displaying regions and programs in upper
memory", for more information.
/n
No pause on error. If hram.exe reports an error, it waits for
you to press a key. This option causes hram.exe to continue
without waiting for a key.
/o<order>
Set program load order. This option is useful only if you
22
have a program which must be loaded before one or more other
programs. For example, to ensure that program1.exe is loaded
before program2.exe and program3.exe, include these commands
in your autoexec.bat file:
hram on /o1
program1
hram on /o2
program2
program3
hram on
To ensure that program1.exe is loaded before program2.exe and
that program2.exe is loaded before program3.exe, use these
commands:
hram on /o1
program1
hram on /o2
program2
hram on /o3
program3
hram on
This option is valid only if the /s option is used on the
hramdev.sys command line. Otherwise, it is ignored.
/p
Do not temporarily convert 64K of expanded memory to upper
memory for use during program initialization.
/r<region>
Load into memory region number <region>. This option causes
LOADHIGH to load one or more programs into the specified
memory region. For example, the following commands would load
the programs, notepad.exe and calc.exe, into memory region 1
(memory regions are numbered starting with 0):
hram on /r1
loadhigh notepad
loadhigh calc
hram off
Without this option, LOADHIGH loads programs into the first
memory region in which they fit.
23
HRAM.SYS
Like hram.exe, hram.sys does not load programs into upper memory,
it works in conjunction with DOS to improve the function of the
DEVICEHIGH command. hram.sys provides a way to load a device
driver into a specific memory region and provides an extra 64K
for driver initialization by temporarily converting expanded
memory to upper memory. To illustrate, suppose you wish to load
the device driver, ansi.sys, into upper memory. The command you
normally use to load it into low memory is:
device=ansi.sys
The command to load it into upper memory, without using HRAM,
would be:
devicehigh=ansi.sys
The commands to load the program into the second memory region in
upper memory (regions are numbered starting with 0) and provide
an additional 64K of memory would be:
device=hram.sys on /r1
devicehigh=ansi.sys
device=hram.sys off
Command reference
The format of the hram.sys command is
device=hram.sys [on|off] [options]
[on|off]
specifies whether HRAM should be "on" or "off". When HRAM is
on, programs can only be loaded into the memory region
specified on the HRAM command line (with the /r option) and
64K of expanded memory is temporarily converted to upper
memory.
[options]
specifies the optional HRAM parameters described in the
following section.
The following options can appear in the HRAM command.
/n
No pause on error. If hram.sys reports an error, it waits for
you to press a key. This option causes hram.sys to continue
without waiting for a key.
/o<order>
Set program load order. This option is useful only if you
have a program which must be loaded before one or more other
programs. For example, to ensure that program1.sys is loaded
24
before program2.sys and program3.sys, include these commands
in your config.sys file:
device=hram.sys on /o1
device=program1.sys
device=hram.sys on /o2
device=program2.sys
device=program3.sys
device=hram on
This option is valid only if the /s option is used on the
hramdev.sys command line. Otherwise, it is ignored.
/p
Do not temporarily convert 64K of expanded memory to upper
memory for use during program initialization.
/r<region>
Load into memory region number <region>. This option causes
DEVICEHIGH to load one or more programs into the specified
memory region. For example, the following commands would load
the programs, notepad.sys and calc.sys, into memory region 1
(memory regions are numbered starting with 0):
device=hram.sys on /r1
devicehigh=notepad.sys
devicehigh=calc.sys
device=hram.sys off
Without this option, DEVICEHIGH loads drivers into the first
memory region in which they fit.
25
YOUR TURN
We value you opinions. Please let us know what you like and
dislike about the HRAM program and user's guide. We're dedicated
to developing the most innovative and useful software available--
and selling it at reasonable prices. Your support helps make
this possible.
Please send all comments and suggestions to
Biologic
POB 1267
Manassas VA
22110
USA
THANK YOU.